§17 Типы алгоритмов |
В алгоритмах команды записываются друг за другом в определённом порядке.
Линейные алгоритмы Алгоритм, в котором команды выполняются в порядке их записи, то есть последовательно друг за другом, называется линейным. Например, линейным является следующий алгоритм посадки дерева (рис. 58): 1) выкопать в земле ямку; 2) опустить в ямку саженец; 3) засыпать ямку с саженцем землёй; 4) полить саженец водой. ![]() С помощью блок-схемы данный алгоритм можно изобразить так (рис. 59). ![]() Алгоритмы с ветвлениями В жизни часто приходится принимать решение в зависимости от сложившейся обстановки. Если идёт дождь, мы берём зонт и надеваем плащ; если жарко, надеваем лёгкую одежду. Встречаются и более сложные условия выбора. В некоторых случаях от выбранного решения зависит дальнейшая судьба человека. Логику принятия решения можно описать так: ЕСЛИ <условие> ТО <действия 1> ИНАЧЕ <действия 2> Пример: ЕСЛИ хочешь быть здоров, ТО закаляйся, ИНАЧЕ валяйся весь день на диване. В некоторых случаях <действия 2> могут отсутствовать: ЕСЛИ <условие> ТО <действия 1> Пример: ЕСЛИ назвался груздем, ТО полезай в кузов. Форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последовательность действий, называется ветвлением. Изобразим в виде блок-схемы последовательность действий ученика 6 класса Мухина Васи, которую он представляет себе так: «Если Павлик дома, будем решать задачи по математике. В противном случае следует позвонить Марине и вместе готовить доклад по биологии. Если же Марины нет дома, то надо сесть за сочинение» (рис. 60). ![]() А вот так, с помощью блок-схемы можно очень наглядно представить рассуждения при решении следующей задачи (рис. 61). Из трёх монет одинакового достоинства одна фальшивая (более лёгкая). Как её найти с помощью одного взвешивания на чашечных весах без гирь? ![]() Алгоритмы с повторениями На практике часто встречаются задачи, в которых одно или несколько действий бывает необходимо повторить несколько раз, пока соблюдается некоторое заранее установленное условие. Форма организации действий, при которой выполнение одной и той же последовательности действий повторяется, пока выполняется некоторое заранее установленное условие, называется циклом (повторением). Алгоритм, содержащий циклы, называется циклическим алгоритмом или алгоритмом с повторениями. Ситуация, при которой выполнение цикла никогда не заканчивается, называется зацикливанием. Следует разрабатывать алгоритмы, не допускающие таких ситуаций. Рассмотрим пример из жизни. Вот так может выглядеть блок-схема действий школьника, которому перед вечерней прогулкой следует выполнить домашнее задание по математике (рис. 62). ![]() Это циклический алгоритм. При его исполнении действие «Решить задачу» будет выполнено столько раз, сколько задач содержит домашнее задание ученика. |